#!/bin/bash

# 检查参数
if [ $# -ne 1 ]; then
    echo "用法: $0 <文件名>"
    exit 1
fi

filename="$1"

# 检查文件是否存在
if [ ! -f "$filename" ]; then
    notify-send "XCAT 错误" "文件不存在: $filename" -u critical
    echo "错误: 文件不存在: $filename" >&2
    exit 1
fi

# 检查文件大小（>100MB 警告）
filesize=$(stat -c "%s" "$filename")
if [ $filesize -gt $((100 * 1024 * 1024)) ]; then
    notify-send "XCAT 警告" "文件过大（>100MB），可能导致卡顿" -u normal
    echo "警告: 文件过大（>100MB），可能导致卡顿" >&2
fi

# 复制内容到剪贴板并检查结果
if cat "$filename" | xclip -sel clip; then
    # 计算文件大小（KB）
    kbsize=$(echo "scale=2; $filesize / 1024" | bc)
    notify-send "XCAT 成功" "文件 $filename 已复制到剪贴板（大小: ${kbsize}KB）" -u low
    exit 0
else
    notify-send "XCAT 错误" "复制失败，请检查文件权限" -u critical
    echo "错误: 复制文件内容失败" >&2
    exit 1
fi
